#ifndef FILEUTIL_H
#define FILEUTIL_H

#include <QFile>
#include <QString>

class FileUtil
{
public:
    // 读取文件
    static QString readContent(const QString &filePath, const QByteArray &codec = "UTF-8");

    // 写入文件，全部替换
    static bool writeContent(const QString &filePath, const QString &content);

    // 文件是否存在
    static bool isFileExist(const QString &filePath);
    static bool isDirectoryExist(const QString &dirPath);

    // 删除文件
    static bool removeFile(const QString &filePath);
    static bool removeDirectory(const QString &dirPath);

    // 隐藏目录
    static bool hideFile(const QString &filePath);
    static bool hideDirectory(const QString &dirPath);

    // 复制文件夹
    static bool copyDirectory(const QString &dirPath, const QString &newPath);

    // 创建文件夹
    static bool createDirectory(const QString &dirPath);
    static bool createFileDirectory(const QString &filePath);

    static qint64 fileSize(const QString &filePath);

    static QString fileMd5(const QString &filePath);
};

#endif // FILEUTIL_H
